package anjos.bean;

import anjos.modelo.Evento;
import anjos.rn.EventoRN;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped
public class EventoBean {

    private EventoRN eventoRN = new EventoRN();
    private Evento evento = new Evento();
    private List<Evento> eventos;
    
    public EventoBean() {
    }

    public Evento getEvento() {
        return evento;
    }

    public void setEvento(Evento evento) {
        this.evento = evento;
    }
    
    public EventoRN getEventoRN() {
        return eventoRN;
    }

    public void setEventoRN(EventoRN eventoRN) {
        this.eventoRN = eventoRN;
    }

    public List<Evento> getEventos() {
        if (eventos == null) {
            eventos = eventoRN.obterTodos();
        }
        return eventos;
    }

    public void setEventos(List<Evento> eventos) {
        this.eventos = eventos;
    }
    
    public String novo(){
        eventoRN.novo();
        return "/cadastro/formularioEvento.xhtml";
    }
    
    public String listarEventos(){
        
        return "/cadastro/evento/listaEventos.xhtml";
    }
    public String salvar(){
        if (eventoRN.salvar(evento)) {
            BeanUtil.criarMensagemDeInformacao("Operação Realizada com Sucesso", "Evento Salvo na Lista");
        }else{
            BeanUtil.criarMensagemDeErro("Erro ao salvar", "O Evento não pode ser salvo.");
        }
        evento = null;
        eventos = null;
        return listarEventos();
                
    }
    
    public String excluir(){
        if (eventoRN.remover(evento)) {
            BeanUtil.criarMensagemDeInformacao("Evento Removido com sucesso.", "Evento: "+evento.getNome());
        }else{
            BeanUtil.criarMensagemDeErro("Erro ao remover Evento.", "O Evento não pode ser removido.");
        }
        return listarEventos();
    }
    
    
}
